function namesnum=numbernames(names)
% namesnum=numbernames(names)
%
% Function takes a matrix of names (string matrix) and searchs for
% duplicate names. Any duplicate names are suffixed with numbers to
% make them unique. The first occurance of any name is left without
% any suffix while the second has 02 and on up to 99. The returned 
% name matrix will have two extra columns which will contain the 
% numbers. (If no duplicate names are found, then the columns are
% stiil there with blanks.)
%
% NOTE: This SOFTWARE may be used by any individual or corporation for any purpose
% with the exception of re-selling or re-distributing the SOFTWARE.
% By using this software, you are agreeing to the terms detailed in this software's
% Matlab source file.

% BEGIN TERMS OF USE LICENSE
%
% This SOFTWARE is maintained by the CREWES Project at the Department
% of Geology and Geophysics of the University of Calgary, Calgary,
% Alberta, Canada.  The copyright and ownership is jointly held by
% its 'AUTHOR' (identified above) and the CREWES Project.  The CREWES
% project may be contacted via email at:  crewesinfo@crewes.org
%
% The term 'SOFTWARE' refers to the Matlab source code, translations to
% any other computer language, or object code
%
% Terms of use of this SOFTWARE
%
% 1) This SOFTWARE may be used by any individual or corporation for any purpose
%    with the exception of re-selling or re-distributing the SOFTWARE.
%
% 2) The AUTHOR and CREWES must be acknowledged in any resulting publications or
%    presentations
%
% 3) This SOFTWARE is provided "as is" with no warranty of any kind
%    either expressed or implied. CREWES makes no warranties or representation
%    as to its accuracy, completeness, or fitness for any purpose. CREWES
%    is under no obligation to provide support of any kind for this SOFTWARE.
%
% 4) CREWES periodically adds, changes, improves or updates this SOFTWARE without
%    notice. New versions will be made available at www.crewes.org .
%
% 5) Use this SOFTWARE at your own risk.
%
% END TERMS OF USE LICENSE
[n,c]=size(names);
namesnum=[names setstr(32*ones(n,2))];
for k=1:n-1
	testname=names(k,:);
	
	if(isempty(deblank(namesnum(k,c+1:c+2))))%see if its already flagged
	
		ind=strmatfind(names(k+1:n,:),testname);
	
		if(~isempty(ind))
			for kk=1:length(ind)
				snum=int2str(kk+1);
				l=length(snum);
				namesnum(k+ind(kk),c+3-l:c+2)=snum;
			end
		end
	end
end